#!/bin/bash

##############################################################
((EUID == 0)) || { echo "Try again as root!"; exit 0; }

###############################################################
#remove existing DNP printer queues

# get the current DNP printer queues and delete them
dnpqs=($(lpstat -v|awk '/Dai_Nippon_Printing_/ {sub(":$","",$3);print $3}'))
for q in ${dnpqs[@]}; do
Q_GUI_Name="$(lpstat -l -p ${q} |awk '/^[ \t]*Description:/ { sub("[ \t]*" $1 " ","");print $0}').app"
lpadmin -x ${q};
Q_GUI_2="${Q_GUI_Name/DNP /Dai Nippon Printing }"
rm -rf ~/Library/Printers/"${Q_GUI_Name}"
rm -rf ~/Library/Printers/"${Q_GUI_2}"
done

# remove existing DNP folder
sudo rm -rf "/Library/Printers/DNP/"

# remove existing (old school) DNP PPDs
Library_PPDs=/Library/Printers/PPDs/Contents/Resources
for ppd in $(find $Library_PPDs -name 'DS*.ppd' -o -name 'DNP-*.ppd'); do
echo testing file $ppd
ppdPath=$Library_PPDs/$ppd
if test "$(awk '/^[*]Product/&&/Dai Nippon Printing/' $ppd)";then
echo deleting ppd file \"${ppd}\"
sudo rm -f "${ppd}"
fi
done

# remove existing (modern) DNP PPDs
for ppd in $(find $Library_PPDs -name 'DNP-DS*.ppd.gz'); do
  echo testing file $ppd; ppdPath=$Library_PPDs/$ppd;
  if test "$(gzcat $ppd|awk '/^[*]Manufacturer/&&/Dai Nippon Printing/')";then echo deleting ppd file \"${ppd}\";
    rm -f "${ppd}"
  fi
done
exit 0